package com.jason.kotlin.base.language

/**
 * Created by Jason on 2017/7/25.
 */


fun main(args: Array<String>) {
    println("sum of 19 and 23 is ${sum(19, 23)}")
    printSum(-1, 8)
    strStyle()

}


// ***************函数定义*****************************/
// 将表达式作为函数体、返回值类型自动推断的函数
fun sum(a: Int, b: Int) = a + b

// 函数返回无意义的值:
fun printSum(a: Int, b: Int): Unit { // 返回类型可以省略
    println("sum of $a and $b is ${a + b}")
}


//******************定义局部变量****************************/


fun bianliang() {
    // 一次赋值(只读)的局部变量 类似java中常量
    val a: Int = 1
    val b = 2   // 自动推断出 Int类型
    val c: Int  // 如果没有初始值 类型不能省略
    c = 3       // 明确赋值

    // 可变变量:
    var x = 5; //
    x += 1;

}

// 字符串模板
fun strStyle() {
    var a = 1
    // 模板中的简单名称
    val s1 = "a is $a"
    a = 2;
    // 模板中的任意表达式
    val s2 = "${s1.replace("is", "was")}, but now is $a"
    println(s2)

}



fun DoubleToIn(num:Double):Int {
    return num.toInt()

}































